Systems and Methods for Automating the Manufacture of Customized Prefabricated Parts Using Electromagnetic Image Surveying

ABSTRACT

A system and method for automatically manufacturing custom parts for use in a prefabricated construction site includes scanning a room under construction. The method also includes determining, based on the scan of the room, an image of an installation location in the room. The method also includes calculating, based on the image of the installation location, alteration dimensions for a prefab part. The alteration dimensions comprise alterations to the prefab part to match spatial dimensions of the installation location in the room. The method additionally includes transmitting, via a network, the alteration dimensions to a factory. The factory fabricates a custom prefab part according to the alteration dimensions.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/714,395, filed 13 Dec. 2019 and published as U.S. Patent PublicationNo. 20200241507 on 30 Jul. 2020. U.S. patent application Ser. No.16/714,395 claims the benefit of U.S. Provisional Patent Application No.62/797,094, filed 25 Jan. 2019, the contents of which are herebyincorporated by reference in its entirety.

FIELD

The present disclosure relates generally to methods and system forassisting in measuring and altering of components for a constructionsite.

BACKGROUND

Presently, at a construction site, a user positions a structural orbuilding component by relying on a blueprint made in a designdepartment, or by decision made on the fly at the construction site. Foreach component to be positioned, the user references the blueprint andthen positions the component.

This conventional positioning method requires a substantial amount oftime, not only for preparing the blueprints, but especially for usingthem on the site. Further, this method also requires that the user haveexperience in using blueprints. Further, under the particularlydifficult conditions of a building site, the reading of the blueprintsand the taking of measurements often carried out by hand are sources oferrors on the exact positioning of the components and altering parts tomatch the requirements of the site.

SUMMARY

In some implementations, a method for automatically manufacturing customparts for use a prefabricated construction site includes scanning a roomunder construction. The method also includes determining, based on thescan of the room, an image of an installation location in the room. Themethod also includes calculating, based on the image of the installationlocation, alteration dimensions for a prefab part. The alterationdimensions comprise alterations to the prefab part to match spatialdimensions of the installation location in the room. The methodadditionally includes transmitting, via a network, the alterationdimensions to a factory. The factory fabricates a custom prefab partaccording to the alteration dimensions.

Additionally, in some implementations, a system for automaticallymanufacturing custom parts in a prefabricated construction site one ormore electromagnetic radiation sources configured to illuminate a roomwith electromagnetic radiation, one or more sensors configured to detectreflected components of the electromagnetic radiation that are reflectedfrom surfaces within the room, wherein the surfaces comprise installedprefab parts, structural elements in the room, or non-structuralelements such as decorative or mechanical parts, and a processing unitcoupled to the one or more electromagnetic radiation sources and the oneor more sensors, the processing unit executing instructions forperforming a method. The method includes scanning a room underconstruction with the one or more electromagnetic radiation sources andthe one or more sensors. The method also includes determining, based onthe reflected components of the electromagnetic radiation, an image ofan installation location in the room. Further, the method includescalculating, based on the image of the installation location, alterationdimensions for a prefab part. The alteration dimensions comprisealterations to the prefab part to match spatial dimensions of theinstallation location in the room. Additionally, the method includestransmitting, via a network, the alteration dimensions to a factory,wherein the factory fabricates a custom prefab part according to thealteration dimensions.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure will become better understood from the detaileddescription and the drawings, wherein:

FIG. 1A illustrates a block diagram of an example of a construction sitein which a custom part system, according to various implementations.

FIG. 1B illustrates a block diagram of an example of a manufacturingsystem that can be operated in a factory and/or micro factory, accordingto various implementations.

FIG. 2 illustrates an example of a method for automaticallymanufacturing custom parts for use a prefabricated construction site,according to various implementations.

FIGS. 3A and 3B illustrate another example of a method for automaticallymanufacturing custom parts for use a prefabricated construction site,according to various implementations.

FIG. 4 illustrates an example of a representation of an installationlocation, according to various implementations.

FIG. 5A-5D illustrate examples of several views of different types ofprefab part that can be altered, according to various implementations.

FIGS. 6A-6C illustrate an example of a prefab panel, according tovarious implementations.

FIGS. 7A-7C illustrate an example of a method for installing a prefabpanel, according to various implementations.

FIG. 8 illustrates an example of a computer system, according to variousimplementations.

DETAILED DESCRIPTION

For simplicity and illustrative purposes, the principles of the presentteachings are described by referring mainly to examples of variousimplementations thereof. However, one of ordinary skill in the art wouldreadily recognize that the same principles are equally applicable to,and can be implemented in, all types of information and systems, andthat any such variations do not depart from the true spirit and scope ofthe present teachings. Moreover, in the following detailed description,references are made to the accompanying figures, which illustratespecific examples of various implementations. Logical and structuralchanges can be made to the examples of the various implementationswithout departing from the spirit and scope of the present teachings.The following detailed description is, therefore, not to be taken in alimiting sense and the scope of the present teachings is defined by theappended claims and their equivalents.

In addition, it should be understood that steps of the examples of themethods set forth in the present disclosure can be performed indifferent orders than the order presented in the present disclosure.Furthermore, some steps of the examples of the methods can be performedin parallel rather than being performed sequentially. Also, the steps ofthe examples of the methods can be performed in a network environment inwhich some steps are performed by different computers in the networkedenvironment.

Some implementations are implemented by a computer system. A computersystem can include a processor, a memory, and a non-transitorycomputer-readable medium. The memory and non-transitory medium can storeinstructions for performing methods and steps described herein.

FIG. 1A is a block diagram illustrating an example of a constructionsite 100 in which a custom part system 101 can be used in variousimplementations. While FIG. 1A illustrates various components containedin the construction site 100, FIG. 1A illustrates one example of aconstruction site and additional components can be added and existingcomponents can be removed.

As illustrated in FIG. 1A, the custom part system 101 includes acomputer system 102 and a surveying sensor 104. The construction site100 can be completed using prefabricated parts (“prefab parts”) 106. Inimplementations, the prefab parts 106 can be any type of building partor material that is installed at the construction site 100. For example,the prefab parts 106 can include structural components (e.g., stubs,joists, rafters, doors and door frames, windows and window frames,etc.), facades (e.g., wall panels or coverings, flooring, ceiling panelsor coverings, etc.), mechanical and electrical systems (e.g., plumbingpipes and fixtures, electrical wiring and fixtures, HVAC conduit andfixtures, etc.)

When installing the prefab parts 106, the construction site 100 mayinclude one or more locations 108 that do not match dimensions of theprefab part 106. As such, the prefab part 106 must be altered to fitspatial dimensions of the location 108. The spatial dimension, however,may not be uniform based on the structural components and prefab partsthat border the location 108, fixtures preinstalled in the location 108,and other variances encountered in the construction site 100.

In implementations, the custom part system 101 may be utilized todetermine the dimensions of the alteration of the prefab part 106 tomatch the location 108. The custom part system 101 can be configured toutilize the surveying sensor 104 to generate a three dimension (3D)representation of the location 108. The custom part system 101 can beconfigured to utilize the computer system 102 to analyze the 3Drepresentation of the location 108 to determine the spatial dimensionsof the location 108. Based on the spatial dimensions, the custom partsystem 101 can be configured to utilize the computer system 102 tocalculate alterations to the prefab part 106 to match the spatialdimensions of the location 108. Once calculated, the custom part system101 can be configured to utilize the computer system 102 to generate aspecification 114 that specifies the alterations to be made to a prefabpart 106. Then, the custom part system 101 can be configured to utilizethe computer system 102 to transmit the specification 114 to a factory109 and/or a micro factory 110 via one or more networks 112.

The factory 109 and/or the micro factory 110 include one or moremanufacturing systems to perform alterations to a prefab part 106according to the specification 114, as discussed below. In someimplementations, the factory 109 can be a fixed shop or manufacturinglocation that performs alterations to prefab parts. The micro factory110 can be a mobile shop that includes the manufacturing systems and ismobile to move between construction sites.

The computer system 102 can be any type of computer system capable ofcommunicating with and interacting with the survey sensor 104 andperforming the process and methods described herein. As describedherein, the computer system 102 can include any of a personal computer(PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant(PDA), a cellular telephone, a web appliance, a server, a networkrouter, a switch or bridge, or any machine capable of executing a set ofinstructions (sequential or otherwise).

In implementations, one or more of the components of the computer system102 and the surveying sensor 104 can be implemented as software programsor modules that perform the methods, process, and protocols describedherein. The software programs or modules can be written in a variety ofprogramming languages, such as JAVA, C++, Python code, Visual Basic,hypertext markup language (HTML), extensible markup language (XML), andthe like to accommodate a variety of operating systems, computing systemarchitectures, etc.

The surveying sensor 104 can be configured to scan the location 108 andgenerate a 3D representation of the location 108. In someimplementations, the surveying sensor 104 can include one or moreelectromagnetic radiation sources and one or more electromagneticradiation sensors. The surveying sensor 104 can be configured toilluminate the location 108 with electromagnetic radiation and detectcomponents of the electromagnetic radiation reflected back to the one ormore electromagnetic radiation sensors. Based on the reflectedcomponents, the surveying sensor 104 (in coordination with the computersystem 102) can be configured to generate the 3D representation of thelocation 108.

For example, the surveying sensor 104 can be configured to utilize LiDARsurveying techniques to generate the 3D representation of the location108. LiDAR is a surveying method that measures distance to a target byilluminating the target with pulsed laser light and measuring thereflected pulses with a sensor. Differences in laser return times andwavelengths can then be used to make digital 3D representations of thetarget. The LiDAR surveying sensor can utilize different types ofelectromagnetic radiation. For instance, the surveying sensor 104 canutilize ultraviolet, visible, or near infrared light to image thelocation 108. In LiDAR, light can be reflected via backscattering, asopposed to pure reflection. The surveying sensor 104 can utilizedifferent types of scattering used for LiDAR surveying techniques, suchas Rayleigh scattering, Mie scattering, Raman scattering, andfluorescence. The surveying sensor 104 can utilize two kinds of LiDARdetection schemes: “incoherent” or direct energy detection (e.g.,measurement of amplitude changes of the reflected light) and “coherent”detection (e.g., measurement of changes in phase of the reflectedlight).

In implementations, once the 3D representation of the location 108 isgenerated, the computer system 102 can be configured to perform imageanalysis algorithms or techniques to identify the special dimensions ofthe location 108. That is, the computer system 102 can be configured toidentify the features and objects (e.g., installed prefab panels,structural components, etc.) in the 3D representation and, based on thefeatures and objects, calculate spatial dimensions of a space defined bythe features and objects.

In some implementations, the computer system 102 can utilize featuredetection algorithms and techniques to identify the feature and objectsin the 3D representation. Feature detection includes methods forcomputing abstractions of image information and making local decisionsat every image point whether there is an image feature of a given typeat that point or not. The resulting features will be subsets of theimage domain, often in the form of isolated points, continuous curves orconnected region. For example, the computer system 102 can be configuredto utilize edge and corner detection techniques to identify the featuresand objects (e.g., installed prefab panels, structural components,non-structural decorative or mechanical parts, etc.) in the 3Drepresentation. Edge detection include mathematical methods thatidentify points in a digital image at which the image brightness changessharply or, more formally, has discontinuities. The points at whichimage brightness changes sharply are typically organized into a set ofcurved line segments termed edges. Based on the detected edges, thecorners in the image can be identified. Likewise, for example, thecomputer system 102 can utilize algorithms and techniques such as regionof interest detection, ridge detection, etc.

Once the features and objects in the 3D representation have beidentified, the computer system 102 can be configured to calculatespatial dimensions defined by the features and objects at the location108. For example, the computer system 102 can generate virtual linesbetween the features and objects and estimate the distance between thefeatures and objects. Once the distances have been calculated, thecomputer system 102 can be configured to generate the specification 114that defines alterations to be made to a prefab part 106 so that theprefab part 106 fits the spatial dimensions defined by the feature andobjects at the location 108. In some implementations, the specification114 includes a three dimensional schematic of a prefab part 106 alteredto match spatial dimensions defined by the feature and objects at thelocation 108. For example, the specification 114 can be a computer-aideddesign (“CAD”) model that provides a design outline for the alteredprefab part 106. The specification 114 can also include additionalinformation such as a type of the prefab part 106, an installation orderin an installation plan, details of the custom part system 101, detailsof a user operating the custom part system 101, etc.

Once the specification is generated, the computer system 102 can beconfigured to transmit the specification 114 to the factory 109 and/orthe micro factory 110 via the one or more networks 112. The one or morenetworks 112 can include local area networks (LANs), wide area networks(WANs), telephone networks, such as the Public Switched TelephoneNetwork (PSTN), an intranet, the Internet, or a combinations thereof. Itshould be understood that where the terms server or computer system areused, this includes the use of networked arrangements of multipledevices operating as a server or computer system. For example,distributed or parallel computing can be used.

In some implementations, the prefab parts 106 (e.g., prefab panels) canbe installed from the center of the construction site 100 to the edgesof the construction site 100. The location 108, which requires thecustom prefab panel, can be located at the edge of the construction site100, e.g., at a termination of a wall or other structural element or aconnection between one wall and another wall or structural element. Assuch, the location 108 can define a space of limited size, for example,approximately the width of a prefab part 106. The space of limited sizemay also be other sizes like half the size of a prefab part 106 or twicethe size of prefab part 106. In the example using LiDAR, the surveyingsensor 104 can have an expected deviation in measurement from the actualspatial dimensions of the location 108 of approximately +/−1.00%. For aconstruction site 100 of 10 feet, the expected deviation can results ina deviation of 1.2 inches if the entire construction site 100 isscanned. Because the installation process reduces the location 108 to adefined space (e.g., approximately the width of a prefab part 106), theexpected deviation in the measurements with the surveying sensor 104 canbe reduced to approximately 1/37 inch. Thus, in one example, to build awall with prefab parts 106 (e.g., prefab panels) may include two prefabparts 106 at the edges of the wall where the wall terminates andadditional center prefab parts 106 that are not at either edge of thewall. The center prefab parts 106 may be placed first because they linkdirectly with other prefab parts 106 in a calculated manner so that theywill not need alteration. The prefab parts 106 at the edges may requirealteration due to interfacing perpendicularly, or not planarly, withother prefab parts 106 or other structural elements. The locations 108at the edges of the wall may be measured with LiDAR or other method ofelectromagnetic radiation. By measuring locations 108 that are smallerthan the entire wall, the measurement error is reduced.

Additionally, an electromagnetic radiation source such as LiDAR maymeasure a plurality of points. For example, the surveying sensor 104 cancollect approximately 2-5 data points spread from the top to bottom ofstructural features (e.g., walls) and installed prefab parts, and stillmaintain a low deviation in the measurements. Additionally, bycollecting multiple points along the structural features (e.g., walls)and installed prefab parts, the curvature of the structural features andinstalled prefab parts can be accurately detected. By identifying thecurvature of structural features and installed prefab parts, thealterations to a prefab part 106 need not be linear but can be curved,jagged, or any other shape. In some embodiments, a large plurality ofpoints such as dozens, hundreds, or thousands is measured by thesurveying sensor 104.

FIG. 1B illustrates an example of a manufacturing system 150 that can beoperated in the factory 109 and/or micro-factory 110, according tovarious implementations. While FIG. 1B illustrates various componentscontained in the manufacturing system 150, FIG. 1A illustrates oneexample of a manufacturing system and additional components can be addedand existing components can be removed.

As illustrated in FIG. 1B, the manufacturing system 150 includes acomputer numeral control (“CNC”) tool 152, an autoloader 154, and alabeler 156. The CNC tool 152 includes a machining tool (e.g., drill,boring tool, lathe, saw, three-dimensional (3D) printer, plasma cutter,mill, electric discharge machining or cutting tool, water cutting jet,etc.) that is automated through the use of a computer system 158. WhileFIG. 1B illustrates the computer system 158 as being a separate system,in various implementations, the computer system 158 can be integrated inthe manufacturing system 150 and/or the CNC tool 152. Likewise, themanufacturing system 150 and/or the CNC tool 152 can include a separatecomputer system that communicates with the computer system 158. Asdescribed elsewhere herein, the manufacturing system 150 mayalternatively or additionally include additive manufacturing tools, suchas a 3D printer, to alter the prefab part 106 to fit location 108.Additive tools may be used to add a spacer or shim to a part. In oneembodiment, an additive or depositing process may be used to addmaterial on an existing part of a prefab part 106 to create a spacer orshim.

The CNC tool 152 can be configured to perform alterations on one or moreprefab parts 160 according to the specifications 114 transmitted fromthe custom part system 101. The CNC tool 152 can include a motorizedmaneuverable tool and a motorized maneuverable platform, which are bothcontrolled by the computer system 158 (or other computer system),according to the specification 114. In some implementations, thespecification 114 can be transformed into a sequential program ofmachine control instructions, and then executed by the CNC tool 152.

The manufacturing system 150 can also include the autoloader 154. Theautoloader 154 can be loaded with a stack of prefab parts 160. Wheninstructions are received to alter a prefab parts 160, the autoloader154 can be configured to automatically retrieve one of the prefab parts160 and feed the prefab part 160 to the CNC tool 152. While FIG. 1Billustrates the autoloader 154 being loaded with one type of prefab part160, the autoloader 154 can be configured to be loaded with differenttypes of prefab parts. In some implementations, the specification 114can include an identification of the type of prefab part to be altered.The computer system 158 can be configured to instruct the autoloader 154to select the appropriate type of prefab part according to thespecification 114 and feed the prefab part to the CNC tool 152. In someimplementations, when the CNC tool 152 is a tool that creates prefabparts (e.g., 3D printer), the autoloader 154 can be configured to storeraw materials used by the CNC tool 152.

The manufacturing system 150 can also include the labeler 156. Thelabeler 156 can be configured to label the prefab part 162 that has beenaltered by the CNC tool 152 with a visual indicator 164. The visualindicator 164 can include a machine-readable label that encodesinformation on the prefab part 162 that has been altered, such as anorder position in the installation order, the type of the prefab part,the alterations made to the prefab part 162, etc. In someimplementations, the machine-readable label 116 can include a barcode, aquick response (“QR”) code, a radio frequency identifier (“RFID”), etc.The visual indicator 164 can also include text labels that provide ahuman-readable version of the information encoded in themachine-readable label. The visual indicator 164 can be utilized toidentify the prefab part 162 and assist in the installation, forexample, as discussed in U.S. Provisional Application No. 62/797,094entitled “Systems and Methods for Automating Installation ofPrefabricated Parts Using Projected Installation Graphics,” the entirecontents of which are incorporated herein by reference.

The computer system 158 can be any type of computer system capable ofcommunicating with and interacting with the manufacturing system 150 andperforming the process and methods described herein. As describedherein, the computer system 158 can include any of a personal computer(PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant(PDA), a cellular telephone, a web appliance, a server, a networkrouter, a switch or bridge, or any machine capable of executing a set ofinstructions (sequential or otherwise).

In implementations, one or more of the components of the computer system158 and the manufacturing system 150 can be implemented as softwareprograms or modules that perform the methods, process, and protocolsdescribed herein. The software programs or modules can be written in avariety of programming languages, such as JAVA, C++, Python code, VisualBasic, hypertext markup language (HTML), extensible markup language(XML), and the like to accommodate a variety of operating systems,computing system architectures, etc.

FIG. 2 illustrates an example of a method 200 for automaticallymanufacturing custom parts for use a prefabricated construction site,according to various implementations. While FIG. 2 illustrates variousstages that can be performed, stages can be removed and additionalstages can be added. Likewise, the order of the illustrated stages canbe performed in any order.

In 202, a room under construction is scanned. In some implementations, alocation in the room can be scanned that requires alterations of aprefab part. In some implementations, the room can be scanned todetermine the location. In some implementations, multiple locations inthe room can be scanned and the alterations needed to a plurality ofparts may be calculated at once. In doing so, the necessary alterationsmay be spread across a plurality parts so that smaller changes areneeded to each part, rather than having large changes to a single partor smaller number of parts. The alterations may be spread approximatelyevenly across the plurality of parts. Thus, the computer system 102 maygenerate specifications 114 for the plurality of parts at once anddistribute the alterations across the specifications 114 so that thealterations made to each prefab part are smaller. This may create a morevisually appealing room with more uniform parts. When the locations arein different places in the room, more than one scan of the room may beused to scan the locations or determine the locations.

For example, referring to FIG. 1A, the custom part system 101 canutilize the surveying sensor 104 to generate a three dimension (3D)representation of the location 108. The surveying sensor 104, under theinstruction of the computer system 102 can scan the location 108 andgenerate a 3D representation of the location 108. The surveying sensor104 can illuminate the location 108 with electromagnetic radiation fromone or more electromagnetic radiation sources and detect components ofthe electromagnetic radiation reflected back to the one or moreelectromagnetic radiation sensors.

In 204, an image of an installation location in the room is determined.In some implementations, the image of the installation location can be a3D representation of the installation location with includes thefeatures and objects (e.g., installed prefab panels, structuralcomponents, etc.) at the location.

For example, referring to FIG. 1A, the surveying sensor 104 can detectcomponents of the electromagnetic radiation reflected back to the one ormore electromagnetic radiation sensors. Based on the reflectedcomponents, the surveying sensor 104 (in coordination with the computersystem 102) can generate the 3D representation of the location 108.

In 206, alteration dimensions for a prefab panel are calculated. In someimplementations, the alteration dimensions can include a threedimensional schematic of a prefab part altered to match spatialdimensions defined by the feature and objects at the installationlocation. In some implementations, the alteration dimensions can includea computer-aided design (“CAD”) model that provides a design outline forthe altered prefab part. In some implementations, the alterationdimensions can also include additional information such as a type of theprefab part, an installation order in an installation plan, details ofthe custom part system, details of a user operating the custom partsystem, etc.

For example, referring to FIG. 1A, once the features and objects in the3D representation have be identified, the computer system 102 cancalculate spatial dimensions defined by the features and objects at thelocation 108. For instance, the computer system 102 can generate virtuallines between the features and objects and estimate the distance betweenthe features and objects. Once the distances have be calculated, thecomputer system 102 can generate the specification 114 that definesalterations to be made to a prefab part 106 so that the prefab part 106fits the spatial dimensions defined by the feature and objects at thelocation 108.

In 208, the alteration dimension are transmitted to a factory via anetwork. In some implementations, the factory can be a fixed locationfactory. In some implementations, the factory can be a micro factory.

For example, as illustrated in FIG. 1A, the custom part system 101 canutilize the computer system 102 to transmit the specification 114 to afactory 109 and/or a micro factory 110 via the one or more networks 112.The factory 109 and/or the micro factory 110 include one or moremanufacturing systems to perform alterations to a prefab part 106according to the specification 114, as illustrated in FIG. 1B.

FIGS. 3A and 3B illustrate an example of a method 300 for automaticallymanufacturing custom parts for use a prefabricated construction site,according to various implementations. While FIGS. 3A and 3B illustratesvarious stages that can be performed, stages can be removed andadditional stages can be added. Likewise, the order of the illustratedstages can be performed in any order.

In 302, an installation location in a room is identified. In someimplementations, a user can identify an installation location thatrequires a custom prefab part. In some implementations, the custom partsystem can identify the installation location. In some implementations,other system can be used to identify the installation location. Forexample, the installation location can be identified by an installationassistance system as discussed in U.S. Provisional Application No.62/797,094 entitled “Systems and Methods for Automating Installation ofPrefabricated Parts Using Projected Installation Graphics,” the entirecontents of which are incorporated herein by reference.

In 304, the installation location is illuminated with electromagneticradiation. In some implementations, the installation location can beilluminated with light.

For example, referring to FIG. 1A, the custom part system 101 canutilize the surveying sensor 104 to generate a three dimension (3D)representation of the location 108. The surveying sensor 104, under theinstruction of the computer system 102 can scan the location 108 andgenerate a 3D representation of the location 108. The surveying sensor104 can illuminate the location 108 with electromagnetic radiation fromone or more electromagnetic radiation sources and detect components ofthe electromagnetic radiation reflected back to the one or moreelectromagnetic radiation sensors.

For instance, the surveying sensor 104 can be configured to utilizeLiDAR surveying techniques. In LiDAR, the surveying sensor canilluminate the location 108 with light, for example, light from a pulsedlaser. The surveying sensor 104 can utilize ultraviolet, visible, ornear infrared light to image the location 108.

In 306, reflected components of the electromagnetic radiation returnedfrom the installation location are detected. In some implementations,backscattered radiation can be detected. In some implementations, directreflection can be detected.

For example, referring to FIG. 1A, the surveying sensor 104 can measuredistance to a target (objects and features at the location 108) byilluminating the target with pulsed laser light and measuring thereflected pulses with a sensor. In LiDAR, light can be reflected viabackscattering, as opposed to pure reflection. The surveying sensor 104can utilize different types of scattering used for LiDAR surveyingtechniques, such as Rayleigh scattering, Mie scattering, Ramanscattering, and fluorescence. The surveying sensor 104 can utilize twokinds of LiDAR detection schemes: “incoherent” or direct energydetection (e.g., measurement of amplitude changes of the reflectedlight) and “coherent” detection (e.g., measurement of changes in phaseof the reflected light).

In 308, a 3D representation of the installation is generated. In someimplementations, a 3D representation can include the features andobjects (e.g., installed prefab panels, structural components, etc.) atthe location.

For example, referring to FIG. 1A, the surveying sensor 104 can detectcomponents of the electromagnetic radiation reflected back to the one ormore electromagnetic radiation sensors. Based on the reflectedcomponents, the surveying sensor 104 (in coordination with the computersystem 102) can generate the 3D representation of the location 108. Forinstance, differences in laser return times and wavelengths can then beused to make digital 3D representations of the target.

The LiDAR method has an uncertainty of +/−1%. As such, for measuring asingle prefab part (e.g., prefab panel), the custom part system candetermine the spatial dimensions of the location 108 with 1/37^(th) ofan inch.

In 310, alteration dimensions for a prefab part are calculated based onthe 3D representation of the installation location. In someimplementations, the alteration dimensions can include a threedimensional schematic of a prefab part altered to match spatialdimensions defined by the feature and objects at the installationlocation. In some implementations, the alteration dimensions can includea computer-aided design (“CAD”) model that provides a design outline forthe altered prefab part. In some implementations, the alterationdimensions can also include additional information such as a type of theprefab part, an installation order in an installation plan, details ofthe custom part system, details of a user operating the custom partsystem, etc.

For example, referring to FIG. 1A, once the features and objects in the3D representation have be identified, the computer system 102 cancalculate spatial dimensions defined by the features and objects at thelocation 108. For instance, the computer system 102 can generate virtuallines between the features and objects and estimate the distance betweenthe features and objects. Once the distances have be calculated, thecomputer system 102 can generate the specification 114 that definesalterations to be made to a prefab part 106 so that the prefab part 106fits the spatial dimensions defined by the feature and objects at thelocation 108.

For example, as illustrated in FIG. 4, a representation 400, generatedusing LiDAR, may comprise an image of an installation location 402.While FIG. 4 illustrates the representation as two dimensional, oneskilled in the art will realize the method describe can equally apply toa 3D representation. As illustrated, the installation location 402 canbe positioned between a prefab panel 404 and a structural element 406.To identify the space, the computer system 102 can perform featurerecognition to identify an edge 408 of the prefab panel 404 that bordersthe installation location 402 and to identify an edge 410 of thestructural element 406 that borders the installation location 402. Todetermine the dimensions, the computer system 102 can generate virtualmeasurement lines 412 in the representation 400. The computer system 102can then calculate the measurement of the virtual measurement line 412to determine the dimensions of the location 402. Because the edge 408 oredge 410 may not be uniform, the computer system 102 can generate enoughvirtual measurement line 412 to approximate the curve of the edge 408and edge 410.

In 312, a specification is generated for a custom prefab part. In someimplementations, the specification can include a three dimensionalschematic of a prefab part altered to match spatial dimensions definedby the feature and objects at the installation location. In someimplementations, the specification can include a computer-aided design(“CAD”) model that provides a design outline for the altered prefabpart. In some implementations, the specification can also includeadditional information such as a type of the prefab part, aninstallation order in an installation plan, details of the custom partsystem, details of a user operating the custom part system, etc.

In 314, the specification is transmitted to a factory via a network. Insome implementations, the factory can be a fixed location factory. Insome implementations, the factory can be a micro factory.

For example, as illustrated in FIG. 1A, the custom part system 101 canutilize the computer system 102 to transmit the specification 114 to afactory 109 and/or a micro factory 110 via the one or more networks 112.The factory 109 and/or the micro factory 110 include one or moremanufacturing systems to perform alterations to a prefab part 106according to the specification 114, as illustrated in FIG. 1B.

In 316, it is determined whether material is removed or added. In someimplementations, an existing prefab part can be altered to removematerial and reduce size. In some implementations, additional materialcan be added to a prefab part.

For example, referring to FIG. 1B, the computer system 158 can receivethe specification 114 and determine whether material is added orremoved. As such, the computer system 158 can select the CNC tool 152based on whether material is removed or added and based on the type ofprefab part being altered.

If material is added, in 318, an addition is printed according to thespecification. For example, the location 108 may be slightly larger thana prefab part and require a filler part. As such, the computer system158 can select a 3D printer to print a new part according to thespecification 114.

If material is removed, in 320, the prefab part is altered according tothe specification. For example, the computer system 158 can instruct theautoloader 154 that matching the prefab part type in the specification114. The computer system 158 can then translate the specification intoinstructions for the CNC tool 152. The computer system 158 can alsoinclude the labeler 156 to apply a visual indicator to the prefab part.

In 322, finishing can optionally be performed.

In 324, the altered prefab part is delivered to the construction site.

As discussed above, the custom part system can be utilized to determineand alter different types of prefab parts. FIG. 5A-5D illustrate severalviews of different types of prefab part that can be altered at aconstruction site 500, according to various implementations. Asillustrated in FIG. 5A, the construction site 500 can be include prefabwall panel 502, prefab ceiling panels 504, and prefab floor panels 506.As illustrated in FIG. 5A-5D, the prefab wall panel 502, prefab ceilingpanels 504, and prefab floor panels 506 can be manufactured as modularunits that are installed using the installation assistance system andmethods 200 and 300 described above. In the method 200 and 300 describedabove, the installation plan can include several three dimensional modelof the construction site 500 similar to the views illustrated in FIG.5A-5D.

FIGS. 6A-6C illustrate an example of a prefab panel 600, which can bealtered using the method described above, according to variousimplementations. FIG. 6A illustrates a rear view of the prefab panel600. The prefab panel 600 includes a wall panel portion 602 and a basepanel portion 604. The wall panel portion 602 can be connected to thebase panel portion by a connecting strip 606. To install the prefabpanel 600, the prefab panel 600 includes hangers 608. The hangers 608are configured to engage with one or more rails installed on structuralelements at a construction site. The prefab panel can be constructed ofany type of construction material, e.g., wood, gypsum board, plater,paper, metal, plastics, and combination thereof. In someimplementations, the hangers 608 can be located at a distance from theedge of the prefab panel 600 so that the prefab panel 600 can be alteredwithout interfering with the hangers 608.

FIG. 6B illustrates a rear view of the base panel portion 604, and FIG.6C illustrates a front view of the base panel portion 604. In additionto the hangers 608, the base panel portion 604 includes one or morepremanufactured construction elements. For example, the base panelportion 604 can include an electrical knockout 610 and a plumbingknockout 612. The electrical knockout 610 is positioned at a location ofelectrical fixtures or components, such as an electrical outlets, switchoutlets, wiring boxes, conduit, etc. The plumbing knockout 612 ispositioned at a location of plumbing fixtures or components, such as apipe location, faucet, drain, etc. One skilled in the art will alsorealize that the wall panel portion 602 can also include premanufacturedconstruction elements.

FIGS. 7A-7C illustrate an example of a method for installing a prefabpanel 700, for example, prefab panel 600 described above. As illustratedin FIGS. 7A and 7B, the prefab panel 700 include one or more hangers 702that are positioned to engage with one or more rails 704. The rails 504include a lip that engages with the lip of the hangers 702. The rails704 are affixed to a structural member (e.g., a wall). As illustrated inFIG. 5C, the prefab panel 700 are hung by lifting the prefab panel 700to align the hangers 702 with the rails 704 and engaging the hangers 702with the rails 704. The prefab panel 700 can also include a supportmember 706. The support member 706 provides support between the prefabpanel 700 and the wall to prevent flex in the prefab panel 700.

An electrical and plumbing system can be altered at a construction site,according to various implementations. The electrical system can includevarious prefab parts, such as electrical wiring conduits, junctionboxes, and fixtures. Likewise, the plumbing system can include variousprefab parts, such as piping and fixture connectors. The prefab partscan be constructed to allow for a minimum amount of installation by auser. For example, the electrical wiring conduits and junction boxes canbe preinstalled with wiring. In implementations, the custom part systemcan be utilized in the alteration and part of the electrical andplumbing system using the method described above.

FIG. 8 illustrates an example machine of a computer system within whicha set of instructions, for causing the machine to perform any one ormore of the methodologies discussed herein, can be executed. Inimplementations, the machine can be connected (e.g., networked) to othermachines in a LAN, an intranet, an extranet, and/or the Internet. Themachine can operate in the capacity of a server or a client machine inclient-server network environment, as a peer machine in a peer-to-peer(or distributed) network environment, or as a server or a client machinein a cloud computing infrastructure or environment.

The machine can be a personal computer (PC), a tablet PC, a set-top box(STB), a Personal Digital Assistant (PDA), a cellular telephone, a webappliance, a server, a network router, a switch or bridge, or anymachine capable of executing a set of instructions (sequential orotherwise) that specify actions to be taken by that machine. Further,while a single machine is illustrated, the term “machine” also includesany collection of machines that individually or jointly execute a set(or multiple sets) of instructions to perform any one or more of themethodologies discussed herein.

The computer system 800 includes a processing device 802, a main memory804 (e.g., read-only memory (ROM), flash memory, dynamic random accessmemory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM),etc.), a static memory 806 (e.g., flash memory, static random accessmemory (SRAM), etc.), and a data storage device 818, which communicatewith each other via a bus 830.

The processing device 802 represents one or more general-purposeprocessing devices such as a microprocessor, a central processing unit,or the like. For example, the processing device can be complexinstruction set computing (CISC) microprocessor, reduced instruction setcomputing (RISC) microprocessor, very long instruction word (VLIW)microprocessor, or processor implementing other instruction sets, orprocessors implementing a combination of instruction sets. Theprocessing device 802 can also be one or more special-purpose processingdevices such as an application specific integrated circuit (ASIC), afield programmable gate array (FPGA), a digital signal processor (DSP),network processor, or the like. The processing device 802 is configuredto execute instructions 826 for performing the operations and stepsdiscussed herein.

The computer system 800 further includes a network interface device 808to communicate over the network 820. The computer system 800 alsoincludes a video display unit 810 (e.g., a liquid crystal display (LCD)or a cathode ray tube (CRT)), an alphanumeric input device 812 (e.g., akeyboard), a cursor control device 815 (e.g., a mouse), a graphicsprocessing unit 822, a signal generation device 816 (e.g., a speaker),graphics processing unit 822, video processing unit 828, and audioprocessing unit 832.

The data storage device 818 can include a machine-readable storagemedium 824 (also known as a computer-readable medium) on which is storedone or more sets of instructions or software 826 embodying any one ormore of the methodologies or functions described herein. Theinstructions 826 can also reside, completely or at least partially,within the main memory 804 and/or within the processing device 802during execution thereof by the computer system 800, the main memory 804and the processing device 802 also constituting machine-readable storagemedia.

In implementations, the instructions 826 include instructions toimplement functionality corresponding to the components of a device toperform the disclosure herein. While the machine-readable storage medium824 is shown in an example implementation to be a single medium, theterm “machine-readable storage medium” includes a single medium ormultiple media (e.g., a centralized or distributed database, and/orassociated caches and servers) that store the one or more sets ofinstructions. The term “machine-readable storage medium” also includesany medium that is capable of storing or encoding a set of instructionsfor execution by the machine and that cause the machine to perform anyone or more of the methodologies of the present disclosure. The term“machine-readable storage medium” also includes, but not be limited to,solid-state memories, optical media, and magnetic media.

Some portions of the preceding detailed descriptions have been presentedin terms of algorithms and symbolic representations of operations ondata bits within a computer memory. These algorithmic descriptions andrepresentations are the ways used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of operations leading to adesired result. The operations are those requiring physicalmanipulations of physical quantities. Usually, though not necessarily,these quantities take the form of electrical or magnetic signals capableof being stored, combined, compared, and otherwise manipulated. It hasproven convenient at times, principally for reasons of common usage, torefer to these signals as bits, values, elements, symbols, characters,terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the above discussion, itis appreciated that throughout the description, discussions utilizingterms such as “identifying” or “calculating” or “determining” or“executing” or “performing” or “collecting” or “creating” or “sending”or the like, refer to the action and processes of a computer system, orsimilar electronic computing device, that manipulates and transformsdata represented as physical (electronic) quantities within the computersystem's registers and memories into other data similarly represented asphysical quantities within the computer system memories or registers orother such information storage devices. Furthermore, to the extent thatthe terms “including”, “includes”, “having”, “has”, “with”, or variantsthereof are used in the detailed description, such terms are intended tobe inclusive in a manner similar to the term “comprising.” As usedherein, the terms “one or more of” and “at least one of” with respect toa listing of items such as, for example, A and B, means A alone, Balone, or A and B. Further, unless specified otherwise, the term “set”should be interpreted as “one or more.” Also, the term “couple” or“couples” is intended to mean either an indirect or direct connection.Thus, if a first device couples to a second device, that connection canbe through a direct connection, or through an indirect connection viaother devices, components, and connections.

The present disclosure also relates to an apparatus for performing theoperations herein. This apparatus can be specially constructed for theintended purposes, or it may comprise a general purpose computerselectively activated or reconfigured by a computer program stored inthe computer. Such a computer program can be stored in a computerreadable storage medium, such as, but not limited to, any type of diskincluding floppy disks, optical disks, CD-ROMs, and magnetic-opticaldisks, read-only memories (ROMs), random access memories (RAMs),erasable programmable read-only memories (EPROMs), electrically erasableprogrammable read-only memories (EEPROMs), magnetic or optical cards,flash memory devices, or any type of media suitable for storingelectronic instructions, each coupled to a computer system bus. Examplesof implementations of the present disclosure can also be provided as acomputer program product, or software, that may include amachine-readable medium having stored thereon instructions, which can beused to program a computer system (or other electronic devices) toperform a process according to the present disclosure.

Various general purpose systems can be used with programs in accordancewith the teachings herein, or a more specialized apparatus can beutilized to perform the method. Examples of the structure for a varietyof systems appear in the description above. In addition, the presentdisclosure is not described with reference to any particular programminglanguage. It will be appreciated that a variety of programming languagesmay be used to implement the teachings of the disclosure as describedherein.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications can be made without departingfrom the spirit and scope of the invention. In addition, the logic flowsdepicted in the figures do not require the particular order shown, orsequential order, to achieve desirable results. In addition, other stepscan be provided, or steps may be eliminated, from the described flows,and other components can be added to, or removed from, the describedsystems. Accordingly, other implementations are within the scope of thefollowing claims.

What is claimed is:
 1. A method for automatically manufacturing customparts for use in a prefabricated construction site, the methodcomprising: scanning a room; determining, based on the scan of the room,an image of an installation location for installation of a prefab partin the room; calculating, based on the image of the installationlocation, alteration dimensions for a prefab part, wherein thealteration dimensions comprise alterations to the prefab part to matchspatial dimensions of the installation location in the room; generatingspecification instructions for fabricating one or more custom prefabparts according to the alteration dimensions; and transmitting, via anetwork, the specification instructions to a fabrication device.
 2. Themethod of claim 1, further comprising altering, via the fabricationdevice, a custom prefab part according to the alteration dimensions byadding material to increase the size of the prefab part or removingmaterial to reduce the size of the prefab part.
 3. The method of claim1, further comprising applying a machine-readable label to the one ormore custom prefab parts, wherein the machine-readable label comprisesinformation including one or more of installation order position,installation location, type of custom prefab part, and alterations madeto the custom prefab part.
 4. The method of claim 1, wherein scanningthe room comprises: illuminating the room with electromagneticradiation; sensing reflected components of the electromagnetic radiationthat are reflected from surfaces within the room, wherein the surfacescomprise installed prefab parts and structural elements; determining,based on the scanning of the room, the installation location for theinstallation of the prefab part, wherein determining the installationlocation comprises: determining, based on the scan, a first structuralelement, wherein the first structural element corresponds to atermination point for the installed prefab parts; and determining, basedon the scan, at least one of the installed prefab parts positionedadjacent to the first structural element.
 5. The method of claim 4,wherein calculating the alteration dimensions comprises: determining,based on the reflected components of the electromagnetic radiation,distances between a plurality of points on a first structural elementand at least one installed prefab part; and calculating the alterationdimensions based on the distances between the plurality of points on thefirst structural element and the at least one installed prefab part. 6.The method of claim 5, wherein the alteration dimensions comprise one ormore curves calculated based on the distances between the plurality ofpoints on the first structural element and the at least one installedprefab part.
 7. The method of claim 1, further comprising: converting,prior to transmitting, one or more of the specification instructions andthe alteration dimensions into an electronic design instructions thatare readable by one or more fabrication devices.
 8. The method of claim7, wherein the electronic design instructions comprise one or more ofinstructions to remove material from the custom prefab part andinstructions to add material to the custom prefab part.
 9. The method ofclaim 1, wherein the alteration dimensions are accurate to within 1% ofspatial dimensions of the installation location.
 10. A system forautomatically manufacturing custom parts in a prefabricated constructionsite, the system comprising: one or more electromagnetic radiationsources configured to illuminate a room with electromagnetic radiation;one or more sensors configured to detect reflected components of theelectromagnetic radiation that are reflected from surfaces within theroom, wherein the surfaces comprise one or more of installed prefabparts and structural elements in the room; and a processing unit coupledto the one or more electromagnetic radiation sources and the one or moresensors, the processing unit executing instructions for performing amethod comprising: scanning a room with the one or more electromagneticradiation sources and the one or more sensors; determining, based on thereflected components of the electromagnetic radiation, an image of aninstallation location in the room; calculating, based on the image ofthe installation location, alteration dimensions for a prefab part,wherein the alteration dimensions comprise alterations to the prefabpart to match spatial dimensions of the installation location in theroom; generating specification instructions for fabricating one or morecustom prefab parts according to the alteration dimensions; andtransmitting, via a network, the specification instructions to afabrication device.
 11. The system of claim 10, wherein the processingunit further executes instructions for one or more of removing materialto reduce the size of a prefab part and adding material to increase thesize of the prefab part according to the alteration dimensions.
 12. Thesystem of claim 10, wherein the processing unit further executesinstructions for applying a machine-readable label to the one or morecustom prefab parts, wherein the machine-readable label comprisesinformation including one or more of installation order position,installation location, type of custom prefab part, and alterations madeto the custom prefab part.
 13. The system of claim 10, wherein scanningthe room comprises: illuminating the room with electromagneticradiation; sensing reflected components of the electromagnetic radiationthat are reflected from surfaces within the room, wherein the surfacescomprise installed prefab parts and structural elements; determining,based on the scanning of the room, the installation location for theinstallation of the prefab part, wherein determining the installationlocation comprises: determining, based on the scan, a first structuralelement, wherein the first structural element corresponds to atermination point for the installed prefab parts; and determining, basedon the scan, at least one of the installed prefab parts positionedadjacent to the first structural element.
 14. The system of claim 13,wherein calculating the alteration dimensions comprises: determining,based on the reflected components of the electromagnetic radiation,distances between a plurality of points on a first structural elementand at least one installed prefab part; and calculating the alterationdimensions based on the distances between the plurality of points on thefirst structural element and the at least one installed prefab part. 15.The system of claim 14, wherein the alteration dimensions comprise oneor more curves calculated based on the distances between the pluralityof points on the first structural element and the at least one installedprefab part.
 16. The system of claim 10, wherein the processing unitfurther executes instructions for converting, prior to transmitting tothe factory, the alteration dimensions into an electronic designinstructions that are readable by one or more fabrication devices. 17.The system of claim 16, wherein the electronic design instructionscomprise one or more of instructions to remove material from the customprefab part and instructions to add material to the custom prefab part.18. The system of claim 10, wherein the alteration dimensions areaccurate to within 2% of spatial dimensions of the installationlocation.
 19. A non-transitory computer-readable medium including one ormore sequences of instructions, which, when executed by one or moreprocessors, causes the one or more processors to: scan a room;determine, based on the scan of the room, an image of an installationlocation for installation of a prefab part in the room; calculate, basedon the image of the installation location, alteration dimensions for aprefab part, wherein the alteration dimensions comprise alterations tothe prefab part to match spatial dimensions of the installation locationin the room; generate, according to the alteration dimensions,specification instructions for fabricating one or more custom prefabparts; and transmit, via a network, the specification instructions to afabrication device.
 20. The non-transitory computer-readable medium ofclaim 19, when executed by the one or more processors, causes the one ormore processors to alter, via the fabrication device, a custom prefabpart according to the alteration dimensions by one or more of addingmaterial to increase the size of the prefab part and removing materialto reduce the size of the prefab part.